package com.neu.smty.service.impl;

import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.neu.smty.mapper.DoctorMapper;
import com.neu.smty.domain.Doctor;
import com.neu.smty.service.IDoctorService;

/**
 * 医生管理Service业务层处理
 *
 * @author liningning
 * @date 2025-09-29
 */
@Service
public class DoctorServiceImpl implements IDoctorService
{
    @Autowired
    private DoctorMapper doctorMapper;

    /**
     * 查询医生管理
     *
     * @param doctorId 医生管理ID
     * @return 医生管理
     */
    @Override
    public Doctor selectDoctorById(Long doctorId)
    {
        return doctorMapper.selectDoctorById(doctorId);
    }

    /**
     * 查询医生管理列表
     *
     * @param doctor 医生管理
     * @return 医生管理
     */
    @Override
    public List<Doctor> selectDoctorList(Doctor doctor)
    {
        return doctorMapper.selectDoctorList(doctor);
    }

    /**
     * 新增医生管理
     *
     * @param doctor 医生管理
     * @return 结果
     */
    @Override
    public int insertDoctor(Doctor doctor)
    {
        return doctorMapper.insertDoctor(doctor);
    }

    /**
     * 修改医生管理
     *
     * @param doctor 医生管理
     * @return 结果
     */
    @Override
    public int updateDoctor(Doctor doctor)
    {
        return doctorMapper.updateDoctor(doctor);
    }

    /**
     * 批量删除医生管理
     *
     * @param doctorIds 需要删除的医生管理ID
     * @return 结果
     */
    @Override
    public int deleteDoctorByIds(Long[] doctorIds)
    {
        return doctorMapper.deleteDoctorByIds(doctorIds);
    }

    /**
     * 删除医生管理信息
     *
     * @param doctorId 医生管理ID
     * @return 结果
     */
    @Override
    public int deleteDoctorById(Long doctorId)
    {
        return doctorMapper.deleteDoctorById(doctorId);
    }

    /**
     * 根据推荐状态查询医生列表
     *
     * @param recommend 推荐状态（0-不推荐，1-推荐）
     * @return 医生管理集合
     */
    @Override
    public List<Doctor> selectDoctorListByRecommend(Integer recommend) {
        Doctor doctor = new Doctor();
        doctor.setRecommend(recommend);
        return doctorMapper.selectDoctorList(doctor);
    }
}
